package com.robertux.leaderboard.beans.entities;

import java.io.Serializable;

import javax.persistence.*;


/**
 * The persistent class for the SUCURSAL_SUPERVISION database table.
 * 
 */
@Entity
@Table(name="SUCURSAL_SUPERVISION")
@NamedQuery(name="SucursalSupervision.findAll", query="SELECT s FROM SucursalSupervision s")
public class SucursalSupervision implements Serializable, Comparable<SucursalSupervision> {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private int id;

	@Column(name="SUCURSAL_ID")
	private int sucursalId;

	@ManyToOne(fetch=FetchType.EAGER)
	private Usuario usuario;

	public SucursalSupervision() {
		this.sucursalId = 0;
		this.usuario = new Usuario();
	}
	
	public SucursalSupervision(int sucursalId) {
		this.sucursalId = sucursalId;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + id;
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		SucursalSupervision other = (SucursalSupervision) obj;
		if (this.sucursalId != other.sucursalId)
			return false;
		return true;
	}

	@Override
	public String toString() {
		return "SucursalSupervision [id=" + id + ", sucursalId=" + sucursalId
				+ ", usuario=" + usuario + "]";
	}

	public int getId() {
		return this.id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public int getSucursalId() {
		return this.sucursalId;
	}

	public void setSucursalId(int sucursalId) {
		this.sucursalId = sucursalId;
	}

	public Usuario getUsuario() {
		return this.usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	@Override
	public int compareTo(SucursalSupervision o) {
		return new Integer(this.sucursalId).compareTo(o.getSucursalId());
	}

}